package vg.services.graph_layout_manager.interfaces;


import java.util.List;

/**
 * This interface manages all layouts in system.
 * @author dkolbin
 *
 */
public interface IGraphLayoutManager {
	// Defines
	public final static String DEF_CURRENT_LAYOUT = "DEF_CURRENT_LAYOUT";
	
	/**
	 * This method registers new layout.
	 */
	public void registerLayout(IGraphLayout layout);
	
	/**
	 * This method returns all registered layout, where key is layout's id 
	 * and value is layout's class.
	 */	
	public List<IGraphLayout>  getInstalledLayouts();
	
	/**
	 * This method set default layout.
	 */
	public void setCurrentLayout(IGraphLayout layout);
		
	/**
	 * This method returns default layout.
	 */
	public IGraphLayout getCurrentLayout();	
}
